package com.stm.bi.constant;

import com.stm.saas.dto.vo.IndexVO;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;


/**
 * @author liuyx
 * @date 2025/2/21 10:34
 */
public class IndexConstants {
    public static final int TYPE_SYSTEM_DEFAULT = 0;
    public static final int TYPE_NUMBER = 1;
    public static final int TYPE_NOT_NUMBER = 2;

    public static final String DEPT_NAME_FIELD = "dept_name";
    public static final String DEPT_ID_FIELD = "dept_id";
    public static final Long DATE_INDEX_ID = 7648686445396992L;
    public static final String DATE_FIELD = "date";
    public static final String DATE_INDEX_NAME = "日期时间";
    public static final Long DEPT_NO_INDEX_ID = 7648756272696064L;
    public static final Long QTY_INDEX_ID = 7558151152963072L;
    public static final String QTY_FIELD = "qty";
    public static final String QTY_INDEX_NAME = "销量";
    public static final Long TOTAL_QTY_INDEX_ID = 8531979331666176L;
    public static final String TOTAL_QTY_FIELD_NAME = "total_qty";
    public static final String TOTAL_QTY_INDEX_NAME = "总销量";
    public static final Long PRICE_INDEX_ID = 7550027312958976L;
    public static final String PRICE_AVG_FIELD = "price_avg";
    public static final String PRICE_INDEX_NAME = "平均单价";
    public static final Long SALES_INDEX_ID = 7550027828725248L;
    public static final String SALES_AMOUNT_FIELD = "sales_amount";
    public static final String SALES_INDEX_NAME = "销售额";
    public static final String MONTH_SALES_INDEX_NAME = "月销售额";
    public static final Long HANG_TAG_INDEX_ID = 7710456622320640L;
    public static final String HANG_TAG_FIELD_NAME = "hangtag_amount";
    public static final String HANG_TAG_INDEX_NAME = "吊牌额";
    public static final Long PER_CUSTOMER_TRANSACTION_INDEX_ID = 7550033994450432L;
    public static final String PER_CUSTOMER_TRANSACTION_FIELD = "per_customer_transaction";
    public static final String PER_CUSTOMER_TRANSACTION_INDEX_NAME = "平均客单";
    public static final Long NUMBER_OF_TRANSACTIONS_INDEX_ID = 7550034227332608L;
    public static final String NUMBER_OF_TRANSACTIONS_FIELD = "number_of_transactions";
    public static final String NUMBER_OF_TRANSACTIONS_INDEX_NAME = "客数";
    public static final Long NUMBER_OF_CONT_ORDER_INDEX_ID = 7551893436632576L;
    public static final String NUMBER_OF_CONT_ORDER_FIELD = "number_of_cont_order";
    public static final String NUMBER_OF_CONT_ORDER_INDEX_NAME = "连单";
    public static final Long INVENTORY_INDEX_ID = 7942531069247488L;
    public static final String INVENTORY_FIELD = "inventory";
    public static final String INVENTORY_INDEX_NAME = "期末库存";
    public static final Long OPENING_INVENTORY_INDEX_ID = 8520298803727872L;
    public static final String OPENING_INVENTORY_FIELD_NAME = "opening_inventory";
    public static final String OPENING_INVENTORY_INDEX_NAME = "期初库存";
    public static final Long DIGESTIBILITY_INDEX_ID = 7942537970712576L;
    public static final String DIGESTIBILITY_FIELD = "digestibility";
    public static final String DIGESTIBILITY_INDEX_NAME = "售罄率";
    public static final Long AVG_PER_DAY_SALES_INDEX_ID = 8047781898819072L;
    public static final String AVG_PER_DAY_SALES_FIELD = "avg_per_day_sales_amount";
    public static final String AVG_PER_DAY_SALES_INDEX_NAME = "日均销售额";
    public static final Long AVG_DAY_QTY_INDEX_ID = 8047781357262848L;
    public static final String AVG_DAY_QTY_FIELD = "avg_day_qty";
    public static final String AVG_DAY_QTY_INDEX_NAME = "日均销量";
    public static final Long AVG_DAY_NUMBER_OF_TRANSACTIONS_INDEX_ID = 8047846923539968L;
    public static final String AVG_DAY_NUMBER_OF_TRANSACTIONS_FIELD = "avg_day_number_of_transactions";
    public static final String AVG_DAY_NUMBER_OF_TRANSACTIONS_INDEX_NAME = "日均客数";
    public static final Long DISCOUNT_RATE_INDEX_ID = 7999681522533120L;
    public static final String DISCOUNT_RATE_FIELD_NAME = "discount_rate";
    public static final String DISCOUNT_RATE_INDEX_NAME = "折扣率";
    public static final Long TOTAL_SALES_AMOUNT_INDEX_ID = 8474704942500608L;
    public static final String TOTAL_SALES_AMOUNT_FIELD_NAME = "total_sales_amount";
    public static final String TOTAL_SALES_AMOUNT_INDEX_NAME = "销货额";
    public static final Long NUMBER_OF_TOTAL_TRANSACTIONS_INDEX_ID = 8474708186336000L;
    public static final String NUMBER_OF_TOTAL_TRANSACTIONS_FIELD_NAME = "number_of_total_transactions";
    public static final String NUMBER_OF_TOTAL_TRANSACTIONS_INDEX_NAME = "销客数";
    public static final Long RETURN_AMOUNT_INDEX_ID = 8474708782320384L;
    public static final String RETURN_AMOUNT_FIELD_NAME = "return_amount";
    public static final String RETURN_AMOUNT_INDEX_NAME = "退货额";
    public static final Long NUMBER_OF_RETURN_TRANSACTIONS_INDEX_ID = 8474708782320384L;
    public static final String NUMBER_OF_RETURN_TRANSACTIONS_FIELD_NAME = "number_of_return_transactions";
    public static final String NUMBER_OF_RETURN_TRANSACTIONS_INDEX_NAME = "退客数";
    public static final Long RETURN_QTY_INDEX_ID = 8531980289704192L;
    public static final String RETURN_QTY_FIELD_NAME = "return_qty";
    public static final String RETURN_QTY_INDEX_NAME = "退货量";
    public static final Long POSITIVE_SALES_VOLUME_INDEX_ID = 8497485688311296L;
    public static final String POSITIVE_SALES_VOLUME_FIELD_NAME = "positive_sales_volume";
    public static final String POSITIVE_SALES_VOLUME_INDEX_NAME = "正价销量";
    public static final Long SPECIAL_SALES_VOLUME_INDEX_ID = 8497486822313472L;
    public static final String SPECIAL_SALES_VOLUME_FIELD_NAME = "special_sales_volume";
    public static final String SPECIAL_SALES_VOLUME_INDEX_NAME = "特价销量";
    public static final Long RETURN_RATE_INDEX_ID = 8497487557824000L;
    public static final String RETURN_RATE_FIELD_NAME = "return_rate";
    public static final String RETURN_RATE_INDEX_NAME = "退货率";
    public static final Long NUMBER_OF_WAREHOUSING_INDEX_ID = 8497577552252416L;
    public static final String NUMBER_OF_WAREHOUSING_FIELD_NAME = "number_of_warehousing";
    public static final String NUMBER_OF_WAREHOUSING_INDEX_NAME = "进仓数";
    public static final Long EX_WAREHOUSING_INDEX_ID = 8571654017256448L;
    public static final String EX_WAREHOUSING_FIELD_NAME = "ex_warehousing";
    public static final String EX_WAREHOUSING_INDEX_NAME = "出仓数";
    public static final Long SALES_PROPORTION_INDEX_ID = 7550028046110208L;
    public static final String SALES_PROPORTION_FIELD_NAME = "sales_proportion";
    public static final Long PLAN_COMPLETION_RATE_INDEX_ID = 7550028362450432L;
    public static final String PLAN_COMPLETION_RATE_FIELD_NAME = "plan_completion_rate";
    public static final String PLAN_COMPLETION_RATE_INDEX_NAME = "计划完成率";
    public static final Long NUMBER_OF_CUSTOMERS_INDEX_ID = 7550026344728064L;
    public static final String NUMBER_OF_CUSTOMERS_FIELD_NAME = "number_of_customers";
    public static final String NUMBER_OF_CUSTOMERS_INDEX_NAME = "顾客数量";



    public static final Long SALES_GRADE_INDEX_ID = 7560259111486976L;
    public static final String SALES_GRADE_FIELD_NAME = "sales_grade";
    public static final Long STANDARD_GRADE_INDEX_ID = 7560259327885824L;
    public static final String STANDARD_GRADE_FIELD_NAME = "standard_grade";
    public static final Long PRODUCT_CATEGORY_INDEX_ID = 7560259775497728L;
    public static final String PRODUCT_STYLE_FIELD_NAME = "product_style";

    public static final String CATEGORY_CODE_FIELD = "category_code";
    public static final String CATEGORY_NAME_FIELD = "category_name";
    public static final String ASSORTMENT_CODE_FIELD = "assortment_code";
    public static final String ASSORTMENT_NAME_FIELD = "assortment_name";
    public static final String STYLE_CODE_FIELD = "style_code";
    public static final String STYLE_NAME_FIELD = "style_name";


    public static final String STYLE_TYPE_FIELD = "style_type";
    public static final String STYLE_TYPE_NAME_FIELD = "style_type_name";
    public static final String REGION_NAME_FIELD = "region_name";
    public static final String REGION_CODE_FIELD = "region_code";
    public static final String PROVINCE_NAME_FIELD = "province_name";
    public static final String PROVINCE_CODE_FIELD = "province_code";
    public static final String CITY_NAME_FIELD = "city_name";
    public static final String CITY_CODE_FIELD = "city_code";
    public static final String DISTRICT_NAME_FIELD = "district_name";
    public static final String DISTRICT_CODE_FIELD = "district_code";


    public static final String COOPERATIVE_CODE_FIELD = "cooperative_code";
    public static final String COOPERATIVE_NAME_FIELD = "cooperative_name";

    public static final String LIFE_CODE_FIELD = "life_code";
    public static final String LIFE_NAME_FIELD = "life_name";

    public static final String CHANNEL_CODE_FIELD = "channel_code";
    public static final String CHANNEL_NAME_FIELD = "channel_name";

    public static final String INVESTMENT_CODE_FIELD = "investment_code";
    public static final String INVESTMENT_NAME_FIELD = "investment_name";

    public static final Long STYLE_COLOR_INDEX_ID = 8500942880640512L;
    public static final String STYLE_COLOR_FIELD_NAME = "style_color";
    public static final String STYLE_COLOR_INDEX_NAME = "款式颜色";
    public static final Long COLOR_NAME_INDEX_ID = 8554923059745024L;
    public static final String COLOR_NAME_FIELD_NAME = "color_name";
    public static final String COLOR_NAME_INDEX_NAME = "颜色名称";
    public static final Long STYLE_SIZE_INDEX_ID = 8500942322241024L;
    public static final String STYLE_SIZE_FIELD_NAME = "style_size";
    public static final String STYLE_SIZE_INDEX_NAME = "款式尺码";
    public static final Long SIZE_NAME_INDEX_ID = 8554923551363328L;
    public static final String SIZE_NAME_FIELD_NAME = "size_name";
    public static final String SIZE_NAME_INDEX_NAME = "尺码名称";
    public static final Long REASON_FOR_RETURN_INDEX_ID = 8497581740625408L;
    public static final String RETURN_REASON_FIELD = "return_reason";
    public static final String REASON_FOR_RETURN_INDEX_NAME = "退货理由";
    public static final Long PROD_SEASON_INDEX_ID = 8520297133215232L;
    public static final String PROD_SEASON_FIELD = "prod_season";
    public static final String PROD_SEASON_INDEX_NAME = "商品季节";
    public static final String PROD_NAME_FIELD_NAME = "prod_name";
    public static final String STYLE_NAME_FIELD_NAME = "style_name";
    public static final Long SHOP_STATUS_INDEX_ID = 7778861381943296L;
    public static final String SHOP_STATUS_FIELD_NAME = "shopStatus";
    public static final String SHOP_STATUS_INDEX_NAME = "店铺状态";
    public static final Long PRODUCT_STYLE_PROVINCE_ID = 1248294351585520L;
    public static final String PRODUCT_STYLE_PROVINCE_FIELD_NAME = "product_style_province";
    public static final String PRODUCT_STYLE_PROVINCE_INDEX_NAME = "款式省份";
    public static final Long PRODUCT_STYLE_CITY_ID = 1248294437175536L;
    public static final String CITY_FIELD_NAME = "city_code";
    public static final String PROVINCE_FIELD_NAME = "province_code";
    public static final String PRODUCT_STYLE_CITY_FIELD_NAME = "product_style_city";
    public static final String PRODUCT_STYLE_CITY_INDEX_NAME = "款式城市";
    public static final Long PRODUCT_STYLE_DISTRICT_ID = 1248295094526192L;
    public static final String PRODUCT_STYLE_DISTRICT_FIELD_NAME = "product_style_district";
    public static final String PRODUCT_STYLE_DISTRICT_INDEX_NAME = "款式行政区";
    public static final Long SIMPLE_VERSION = 8118116958243840L;
    public static final Long MODERATE_VERSION = 8118123607657472L;
    public static final Long DETAIL_VERSION = 8118123798105088L;
    public static final String CORE_WORK_PLAN = "核心工作计划";
    public static final String NUMBER_OF_DEALING_FIELD_NAME = "number_of_dealing";
    public static final String NUMBER_OF_DELIVERING_FIELD_NAME = "number_of_delivering";
    public static final List<String> PER_DAY_INDEX_FIELD_NAMES = new ArrayList(Arrays.asList("avgPerDaySalesAmount", "avgDayNumberOfTransactions", "avgDayQty"));

    public static final String NEW_CUSTOMERS_FILED = "new_customers";
    public static final String NEW_CUSTOMERS_INDEX_NAME = "新顾客数";

    public static final String OLD_CUSTOMERS_FILED = "old_customers";
    public static final String OLD_CUSTOMERS_INDEX_NAME = "老顾客数";

    public static final IndexVO NEW_CUSTOMERS = new IndexVO(null, NEW_CUSTOMERS_INDEX_NAME, NEW_CUSTOMERS_FILED);
    public static final IndexVO OLD_CUSTOMERS = new IndexVO(null, OLD_CUSTOMERS_INDEX_NAME, OLD_CUSTOMERS_FILED);
    public static final IndexVO SALES_AMOUNT = new IndexVO(SALES_INDEX_ID, SALES_INDEX_NAME, SALES_AMOUNT_FIELD);
    public static final IndexVO PER_CUSTOMER_TRANSACTION = new IndexVO(PER_CUSTOMER_TRANSACTION_INDEX_ID, PER_CUSTOMER_TRANSACTION_INDEX_NAME, PER_CUSTOMER_TRANSACTION_FIELD);
    public static final IndexVO NUMBER_OF_TRANSACTIONS = new IndexVO(NUMBER_OF_TRANSACTIONS_INDEX_ID, NUMBER_OF_TRANSACTIONS_INDEX_NAME, NUMBER_OF_TRANSACTIONS_FIELD);
    public static final IndexVO NUMBER_OF_CONT_ORDER = new IndexVO(NUMBER_OF_CONT_ORDER_INDEX_ID, NUMBER_OF_CONT_ORDER_INDEX_NAME, NUMBER_OF_CONT_ORDER_FIELD);
    public static final IndexVO AVG_DAY_NUMBER_OF_TRANSACTIONS = new IndexVO(AVG_DAY_NUMBER_OF_TRANSACTIONS_INDEX_ID, AVG_DAY_NUMBER_OF_TRANSACTIONS_INDEX_NAME, AVG_DAY_NUMBER_OF_TRANSACTIONS_FIELD);
    public static final IndexVO AVG_PER_DAY_SALES_AMOUNT = new IndexVO(AVG_PER_DAY_SALES_INDEX_ID, AVG_PER_DAY_SALES_INDEX_NAME, AVG_PER_DAY_SALES_FIELD);
    public static final IndexVO PRICE_AVG = new IndexVO(PRICE_INDEX_ID, PRICE_INDEX_NAME, PRICE_AVG_FIELD);
    public static final IndexVO AVG_DAY_QTY = new IndexVO(null, AVG_DAY_QTY_INDEX_NAME , AVG_DAY_QTY_FIELD);

    public static final IndexVO QTY = new IndexVO(QTY_INDEX_ID, QTY_INDEX_NAME, QTY_FIELD);
    public static final IndexVO INVENTORY = new IndexVO(INVENTORY_INDEX_ID, INVENTORY_INDEX_NAME, INVENTORY_FIELD);
    public static final IndexVO DIGESTIBILITY = new IndexVO(DIGESTIBILITY_INDEX_ID, DIGESTIBILITY_INDEX_NAME, DIGESTIBILITY_FIELD);

}
